
const path = require('path');

var HtmlWebpackPlugin = require('html-webpack-plugin'); //打包html的插件

const entryJSON = require('./config/entry.json');
// 入口管理
let entry = {}
entryJSON.map(page => {
    entry[page.url] = path.resolve(__dirname, `./views/${page.url}/index.js`)
})

// 因为多入口，所以要多个HtmlWebpackPlugin，每个只能管一个入口
let plugins = entryJSON.map(page => {
  return new HtmlWebpackPlugin({
      filename: path.resolve(__dirname, `./dist/${page.url}.html`),
      template: path.resolve(__dirname, `./views/${page.url}/index.html`),
      chunks: [page.url], // 实现多入口的核心，决定自己加载哪个js文件，这里的 page.url 指的是 entry 对象的 key 所对应的入口打包出来的js文件
      hash: true, // 为静态资源生成hash值
      minify: false,   // 压缩，如果启用这个的话，需要使用html-minifier，不然会直接报错
      xhtml: true,    // 自闭标签
  })
})

module.exports = {
  entry:entry,
  output:{
    filename:'bundle.js',
    path:path.resolve(__dirname, 'dist')
  },
  plugins:plugins
}